using System;
using System.Collections.Generic;
using System.Text;

namespace MIS.EN.Exchange.Entities
{
    public enum BusyStatus
    {
        /// <summary>
        /// Out of the office
        /// </summary>
        OOF,
        Busy,
        Tentative,
        Free
    }

    public enum InstanceType
    {
        Single = 0, // This is a single appointment.
        Master = 1, // This is the master recurring appointment.
        Instance = 2, // This is a single instance of a recurring appointment.
        Exception = 3 // This is an exception to a recurring appointment.
    }

    public enum MeetingStatus
    {
        Tentative,
        Confirmed,
        Cancelled
    }

    public enum MailingAddress
    {
        None = 0,
        Home = 1,
        Business = 2,
        Other = 3
    }

    public enum RecurrenceIdRange
    {
        None,
        ThisAndFuture,
        ThisAndPrior 
    }

    public enum Sensitivity
    {
        None = 0,
        Personal = 1,
        Private = 2,
        CompanyConfidential = 3
    }

    public enum TimeZoneId
    {
        Utc = 0, // Coordinated Universal Time (UTC)
        Gmt = 1, // Greenwich Mean Time (same as UTC)
        Lisbon = 2, // Dublin, Edinburgh, Lisbon, London (UTC + 0:00)
        Paris = 3, // Brussels, Copenhagen, Madrid, Paris, Vilnius (UTC + 1:00)
        Berlin = 4, // Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna (UTC + 1:00)
        EasternEurope = 5, // Eastern Europe (UTC + 2:00)
        Prague = 6, // Belgrade, Pozsony, Budapest, Ljubljana, Prague (UTC + 1:00)
        Athens = 7, // Athens, Instanbul, Minsk (UTC + 2:00)
        Brasilia = 8, // Brasilia (UTC - 3:00)
        AtlanticCanada = 9, // Atlantic time (UTC - 4:00)
        Eastern = 10, // Eastern time (UTC - 5:00)
        Central = 11, // Central time (UTC - 6:00)
        Mountain = 12, // Mountain time (UTC - 7:00)
        Pacific = 13, // Pacific time (UTC - 8:00)
        Alaska = 14, // Alaska (UTC - 9:00)
        Hawaii = 15, // Hawaii (UTC - 10:00)
        MidwayIsland = 16, // Midway Island, Samoa (UTC - 11:00)
        Wellington = 17, // Auckland, Wellington (UTC + 12:00)
        Brisbane = 18, // Brisbane (UTC + 10:00)
        Adelaide = 19, // Adelaide (UTC + 9:30)
        Tokyo = 20, // Osaka, Sapporo, Tokyo (UTC + 9:00)
        HongKong = 21, // Hong Kong SAR (UTC + 8:00)
        Bangkok = 22, // Bangkok, Hanoi, Jakarta (UTC + 7:00)
        Bombay = 23, // Mumbai, Kolkata, Chennai, New Delhi (UTC + 5:30)
        AbuDhabi = 24, // Abu Dhabi, Muscat (UTC + 4:00)
        Tehran = 25, // Tehran (UTC + 3:30)
        Baghdad = 26, // Baghdad, Kuwait, Riyadh (UTC + 3:00)
        Israel = 27, // Israel (UTC + 2:00)
        Newfoundland = 28, // Newfoundland (UTC - 3:30)
        Azores = 29, // Azores, Cape Verde Islands (UTC - 1:00)
        MidAtlantic = 30, // Mid Atlantic (UTC - 2:00)
        Monrovia = 31, // Casablanca, Monrovia (UTC + 0:00)
        BuenosAires = 32, // Buenos Aires, Georgetown (UTC - 3:00)
        Caracas = 33, // Caracas, La Paz (UTC - 4:00)
        Indiana = 34, // Indiana (UTC - 5:00)
        Bogota = 35, // Bogota, Lima, Quito (UTC - 5:00)
        Saskatchewan = 36, // Saskatchewan (UTC - 6:00)
        MexicoCity = 37, // Mexico City, Tegucigalpa (UTC - 6:00)
        Arizona = 38, // Arizona (UTC - 7:00)
        Eniwetok = 39, // Eniwetok, Kwajalein (UTC - 12:00)
        Fiji = 40, // Fiji Islands, Kamchatka, Marshall Islands (UTC + 12:00)
        Magadan = 41, // Magadan, Solomon Islands, New Caledonia (UTC + 11:00)
        Hobart = 42, // Hobart (UTC + 10:00)
        Guam = 43, // Guam, Port Moresby (UTC + 10:00)
        Darwin = 44, // Darwin (UTC + 9:30)
        Beijing = 45, // Beijing, Chongqing, Urumqi (UTC + 8:00)
        Almaty = 46, // Akmola, Almaty, Dhaka (UTC + 6:00)
        Islamabad = 47, // Islamabad, Karachi, Tashkent (UTC + 5:00)
        Kabul = 48, // Kabul (UTC + 4:30)
        Cairo = 49, // Cairo (UTC + 2:00)
        Harare = 50, // Harare, Pretoria (UTC + 2:00)
        Moscow = 51, // Moscow, St. Petersburg, Volgograd (UTC + 3:00)
        InvalidTimeZone = 52 // Invalid time zone
    }

    public enum Transparent
    {
        Opaque,
        Transparent
    }

    public enum Method
    {
        Add,
        Cancel,
        Counter,
        DeclineCounter,
        Publish,
        Refresh,
        Reply,
        Request 
    }

    public enum Priority
    {
        NonUrgent = -1,
        Normal = 0,
        Urgent = 1
    }
}
